﻿using System;
using ERPStore.Payment.Paypal.com.paypalobjects;

namespace ERPStore.Payment.Paypal.Services
{
	public interface IPaypalExpressService : ERPStore.Services.IPaymentService
	{
		string DoExpressCheckoutPaymentSale(string token, string payerId, ERPStore.Models.Order order, ERPStore.Payment.Paypal.com.paypalobjects.CurrencyCodeType currencyCodeType, string orderDescription, string invoiceCode);
		ERPStore.Payment.Paypal.com.paypalobjects.GetExpressCheckoutDetailsResponseType GetExpressCheckoutDetails(string token);
		string GetPaypalCheckoutUrl(string token);
		string SetExpressCheckout(ERPStore.Models.OrderCart cart, ERPStore.Models.User user, ERPStore.Payment.Paypal.com.paypalobjects.CurrencyCodeType currencyCodeType, string orderDescription, string returnUrl, string cancelUrl, string callbackUrl);
		bool IsResponseSuccess(AbstractResponseType abstractResponse, out string errorList);
	}
}
